package com.itheima.reggie.controller;

import com.itheima.reggie.common.OssTemplate;
import com.itheima.reggie.common.ResultInfo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;

/*
@RestController 是@controller和@ResponseBody 的结合

@Controller 将当前修饰的类注入SpringBoot IOC容器，使得从该类所在的项目跑起来的过程中，这个类就被实例化。
@ResponseBody 它的作用简短截说就是指该类中所有的API接口返回的数据，
甭管你对应的方法返回Map或是其他Object，它会以Json字符串的形式返回给客户端

 */
// 图片上传
@RestController
@Slf4j // 开启日志
public class FileController {
    @Autowired //注入
    private OssTemplate ossTemplate;

    @PostMapping("/common/upload")
    public ResultInfo upload(MultipartFile file)throws IOException {
        String upload = ossTemplate.upload(file.getOriginalFilename(), file.getInputStream());
        log.info("文件上传的地址是",upload);
        return ResultInfo.success(upload);
    }

}
